A Comparison of Software Refactoring Tools
نویسندگان
چکیده
The principal aim of this paper is to apply the Taxonomy of Software Evolution, developed by Mens et. al [1], to position various software tools that support the activity of software refactoring as part of the evolutionary process. This taxonomy is based on the mechanisms of change and the factors that impact upon these mechanisms. The goal of this taxonomy is to position concrete tools and techniques within the domain of software evolution, so that it becomes easier to compare and combine them. In this paper, we apply the taxonomy to four tools that provide explicit support for refactoring. The tools that were considered for this detailed study are the following: Smalltalk VisualWorks 7.0 [2], Eclipse 2.0 [3], Guru (for SELF 4.0) [4] and the Together ControlCenter 6.0 [5]. After a detailed discussion and comparison of these tools, we analyse the strengths, weaknesses and limitations of the evolution taxonomy
منابع مشابه
Making Refactoring Tools Part of the Programming Workflow
To adapt software to changing requirements, many authors have advocated interspersing code modifications with refactorings to “keep the code clean”. Thus, it is important that refactoring tools are fast, correct, and integrate well with programmers’ primary workflow. We present data that suggest that programmers underuse refactoring tools and instead refactor by hand; this is a problem because ...
متن کاملDetection and Removal of Bad Smells instantly using a InsRefactor
-Software refactoring is one of the essential techniques which are used to improve the software quality without affecting any of the external functionality of the software. There were numerous of software refactoring tools and code smells detection tools which are to be automatic or semi automatic. Most of these tools were human driven, so Software refactoring depends on developers’ spontaneity...
متن کاملRefactoring Tools that Stay Out of the Programmer ’ s Way
SP I Title: without the abstract, the title makes it sound like they’re not used. Perhaps “Refactoring Tools that Seamlessly Aid the Programmer” J Refactoring tools are used to improve the structure of program code, to prepare it for some other change. Refactoring that is interspersed with other code modifications is the best way that we know to adapt software to changing requirements, so it is...
متن کاملA Framework for an Adaptive Refactoring Tool
Refactoring is the process of making changes to the internal structure of existing code without changing the external behavior of that code. The resulting code is more flexible, reusable, and maintainable. While refactoring is becoming more popular in the software development community, manual refactoring can be a long and tedious process. Tools that support refactoring are becoming available; ...
متن کاملAn Investigation into the Characteristics of Merged Code Clones during Software Evolution
Although code clones (i.e. code fragments that have similar or identical code fragments in the source code) are regarded as a factor that increases the complexity of software maintenance, tools for supporting clone refactoring (i.e. merging a set of code clones into a single method or function) are not commonly used. To promote the development of refactoring tools that can be more widely utiliz...
متن کامل